package com.campus.help.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.campus.help.entity.Banner;
import org.springframework.web.multipart.MultipartFile;

/**
 * 轮播图服务接口
 */
public interface BannerService extends IService<Banner> {

    /**
     * 分页查询轮播图
     * @param page 分页参数
     * @param keyword 关键词
     * @param status 状态
     * @return 分页结果
     */
    IPage<Banner> getBannerPage(Page<Banner> page, String keyword, Integer status);

    /**
     * 添加轮播图
     * @param banner 轮播图信息
     * @param imageFile 图片文件
     * @return 是否成功
     */
    boolean addBanner(Banner banner, MultipartFile imageFile);

    /**
     * 更新轮播图
     * @param banner 轮播图信息
     * @param imageFile 图片文件（可选）
     * @return 是否成功
     */
    boolean updateBanner(Banner banner, MultipartFile imageFile);

    /**
     * 删除轮播图
     * @param id 轮播图ID
     * @return 是否成功
     */
    boolean deleteBanner(Long id);

    /**
     * 切换轮播图状态
     * @param id 轮播图ID
     * @param status 状态
     * @return 是否成功
     */
    boolean toggleStatus(Long id, Integer status);
}
